home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
netz
/
verteiler
/
microdot
/
start_verteiler.mdmrexx
Wrap
Text File
|
1995-06-10
|
5KB
|
143 lines
/*
$VER: Start_Verteiler.mdmrexx V1.0 (06-Jun-95) Copyright (c) Nils Görs
FUNKTIONSBESCHREIBUNG:
Dieses Skript wurde speziell für das Programm Verteiler zwecks
Anbindung an MicroDot entwickelt. Dieses Skript dient ledig-
lich der Auswertung- und Versendung von Nachrichten an
mehrere Empfänger, die mittels Verteiler ausgewählt wurden.
INSTALLATION:
'Start_Verteiler.mdmrexx' soll über das ARexx-Menü von 'MicroDot'
aufrufbar sein und muß deshalb nach 'MicroDot/Rexx' kopiert
werden. Im Menü 'Rexx/Nachrichten-Makros' erscheint dann der
Menüpunkt 'Start_Verteiler'.
Sie erreichen die Autoren wie folgt:
t.eicher@hsp.zer.de
N.Goers@Art-Line.Art-Line.de
Das Programm Verteiler, welches mit diesem Skript gestartet wird,
benötigt die "triton.library" >=V1.2
Triton is (C) by Stefan Zeiger <s.zeiger@laren.rhein-main.de>
*/
/*----------------------------------------------------------------
-Ab hier können Sie das Skript nach Ihren Bedürfnissen anpassen-
----------------------------------------------------------------*/
/* wo befindet sich das Hauptprogramm ?? */
Verteiler.main = "Zodiac:Tools/Verteiler"
/*----------------------------------------------------------------*/
/* wo befindet sich die Database
(default: progdir:verteiler.database) */
DataBase = "progdir:verteiler.database"
/*----------------------------------------------------------------*/
/* wo ist die Datei mit den Empfängern (Verteilerliste)? */
RCVFILE.main = "t:RCVFILE"
/*----------------------------------------------------------------*/
/* zum Auslagern evtl. Daten (Binär- und oder Textnachrichten) */
Datei.Tmp = "t:Out.tmp"
/*----------------------------------------------------------------*/
/* sollen die Empfänger vor dem Schreiben der Nachricht zur
Verfügung gestellt werden ???
0 = JA
1 = NEIN */
WhatKind = 0
/*----------------------------------------------------------------*/
/* Originalnachricht wird gelöschen !!
1 = mit Sicherheitsabfrage
0 = ohne Sicherheitsabfrage */
DelImmer = 0
/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Bitte geben Sie hier ihre Präferenzen ein ! *
*******************************************************************/
/*******************************************************************
* Bitte unterhalb dieser Zeile nichts mehr verändern! *
*******************************************************************/
OPTIONS RESULTS
NL = '0a'x
GETMDPUBSCREENNAME
zpPort = RESULT
ADDRESS COMMAND Verteiler.main 'DB='Database,
'INTO='RCVFILE.main||zpPort,
'PB='zpPort
IF (RC) ~= 0 THEN DO /* Fehler beim öffnen von Verteiler */
REQUEST '"Fehler beim Start von Verteiler!" "Danke!"'; EXIT
END
IF ~EXISTS(RCVFile.main||zpPort) THEN DO
REQUEST '"Sie haben abgebrochen!"' "Danke!"; EXIT
END
/* File mit den Empfänger laden und in eine,
für MD verständliche Form wandeln. */
CALL OPEN(dat,RCVFile.main||zpPort,"Read")
Laenge=SEEK(dat,0,"End"); CALL SEEK(dat,0,"Begin")
Empf = READCH(dat,Laenge)
CALL CLOSE(dat)
Empf = TRANSLATE(Empf," ",NL,)
ADDRESS COMMAND "DELETE" RCVFile.main||zpPort "QUIET" /* Datei wieder löschen ! */
/* Wo sind wir ? */
GETPOS
Position = Result
If WhatKind == 0 THEN Result = -1
IF Result == -1 THEN DO /* Wenn kein Empfänger! */
Empf = Empf||Empf; Empf = DELWORD(Empf,1,1) /* ohne das geht es nicht! */
SENDMAIL "TO="Empf "WAIT"
EXIT
END
/* zusätzliche Informationen holen */
GETCURRENTMAIL STEM MAIL.
GETCURRENTMAILHEADER EMP
Empf.orig= RESULT
EXTRACTCURRENTMAIL "FILE="Datei.Tmp /* Nachricht auslagern! */
/* handelt es sich um eine Textnachricht oder um ein Binärfile? */
IF MAIL.BIN == 0 THEN
SENDMAIL "TO="Empf.orig Empf "BODYFILE="Datei.tmp "SUBJECT="MAIL.SUBJECT
ELSE
SENDMAIL "TO="Empf.orig Empf "BODYFILE="Datei.tmp "SUBJECT="MAIL.SUBJECT BIN
IF DelImmer ~= 0 THEN
DO
REQUEST '"Soll die Ursprungsnachricht gelöscht werden?" "Ja|Nein"'
IF RESULT == 0 THEN
DO
ADDRESS COMMAND "DELETE" Datei.tmp "QUIET"; EXIT
END
ELSE
SETPOS Position
SETCURRENTMAILFLAGS DEL 1
END
ELSE
SETPOS Position
SETCURRENTMAILFLAGS DEL 1
ADDRESS COMMAND "DELETE" Datei.tmp "QUIET"
/* EOS */